home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 March: Reference Library / Dev.CD Mar 96 RL / Dev.CD Mar 96 RL.toast / Technical Documentation / develop / develop Issue 25 / develop Issue 25 code / ToolFrontEnd / ToolFrontEnd Source / Common Files / ToolFrontEnd.h
Encoding:
C/C++ Source or Header  |  1995-12-19  |  2.4 KB  |  97 lines  |  [TEXT/CWIE]

  1. /*
  2.  *  ToolFrontEnd.h - Tool Server Front End Drop-In Preferences
  3.  */
  4.  
  5. #ifndef _H_ToolFrontEnd
  6. #define _H_ToolFrontEnd
  7.  
  8. #ifndef __TYPES__
  9. #include <Types.h>
  10. #endif
  11.  
  12. #include "DropInCompiler.h"
  13.  
  14.  
  15. #pragma options align=mac68k
  16.  
  17.  
  18. /* this is the name of the panel, as shown in the Finder */
  19. #define kToolFrontEndPanelName    "\pToolFrontEnd Panel"
  20.  
  21.  
  22. /*
  23.  *    AppleScript dictionary info.  As a rule of thumb, dropin panels should use the 
  24.  *    same terminology and numeric code in their 'aete' that the IDE uses if there 
  25.  *    is already a similar item in the IDE's 'aete'.  That is the case here, so we 
  26.  *    merely duplicate applicable 68K Project and 68K Linker user terms below.
  27.  */
  28.  
  29. enum {
  30. /*    Symbolic Name                   Code        AETE Terminology        */
  31.     class_Sample                = 'TSFE',
  32.  
  33.     prefsPR_ProjectType            = 'PR01',    /* Project Type            */
  34.     prefsPR_FileName            = 'PR02',    /* File Name            */
  35.     prefsLN_GenerateSymFile        = 'LN02',    /* Generate SYM File    */
  36.     
  37.     /* enumeration for project type */
  38.     enumeration_ProjectType        = 'PRPT',
  39.     enum_Project_Application    = 'PRPA',    /* application            */
  40.     enum_Project_Library        = 'PRPL',    /* library                */
  41.     enum_Project_SharedLibrary    = 'PRPS',    /* shared library        */
  42.     enum_Project_CodeResource    = 'PRPC',    /* code resource        */
  43.     enum_Project_MPWTool        = 'PRPM'    /* MPW tool                */
  44. };
  45.  
  46.  
  47. /* internal codes for project type */
  48. enum { 
  49.     kProjTypeApplication,
  50.     kProjTypeLibrary,
  51.     kProjTypeSharedLib,
  52.     kProjTypeCodeResource,
  53.     kProjTypeMPWTool
  54. };
  55.  
  56.  
  57. /*    This is the structure that is manipulated by the panel. */
  58.  
  59. typedef struct ToolFrontEndPref {
  60.     short            version;            /* version # of prefs data    */
  61.     Str255            scriptIncludeFile;    // the name of the script include file
  62.     short            numExtensions;        // number of extensions
  63.     struct ExtensionEntry
  64.     {
  65.         Str15        extension;            // extension of these files
  66.         Str31        scanner;            // scanner for include files
  67.         Str15        includeFileArg;        // argument prefix for an include file
  68.         Str255        commandTemplate;    // template command for ToolServer
  69.     }                extensions[1];        // array of extensions -- variable sized
  70. } ToolFrontEndPref, **ToolFrontEndPrefHandle;
  71.  
  72.  
  73. // status structure passed around internally
  74.  
  75. #define MAXFOLDERPATHS 128 // get real....
  76.  
  77. typedef struct
  78. {
  79.     CompilerParameterBlock *cpb;
  80.     long linecount;
  81.     short numFolderPaths;
  82.     struct
  83.     {
  84.         short vRefNum;
  85.         long dirID;
  86.         Handle path;
  87.     } folderPaths[MAXFOLDERPATHS];
  88.     struct ScannerStatus *scanStatus;
  89. } ToolFrontEndStatus;
  90.  
  91.  
  92. #pragma options align=reset
  93.  
  94.  
  95. #endif
  96.  
  97.